package views.annotations;

import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;

@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.TYPE)
/**
 * Anotacio que utilitzara una clase del model que tinga un ArgPanel 
 *
 */
public @interface ArgAnnotation {
	/**
	 * Nom del argument
	 */
	String name();
	/**
	 * Clase del argument int,float,String,Date,boolean
	 */
	String type();
	/**
	 * oritge de datos
	 */
	String source() default ""; 
	/**
	 * tipo del editor, combo, tabla
	 */
	String editor() default "";
	
	String value() default "";    
	
	boolean visible() default true; 
	
	boolean enabled() default true;
	
	@Target(ElementType.TYPE)
	@Retention(RetentionPolicy.RUNTIME)
	@interface ArgAnnotations {

		ArgAnnotation[] value();
	}
}
